// onjava/CountingIntegerList.java
// (c)2017 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://OnJava8.com for more book information.
// List of any length, containing sample data
// {java onjava.CountingIntegerList}
package onjava;

import java.util.AbstractList;
import java.util.List;

public class CountingIntegerList
        extends AbstractList<Integer> {
    private int size;

    public CountingIntegerList() {
        size = 0;
    }

    public CountingIntegerList(int size) {
        this.size = size < 0 ? 0 : size;
    }

    @Override
    public Integer get(int index) {
        return index;
    }

    @Override
    public int size() {
        return size;
    }

    public static void main(String[] args) {
        List<Integer> cil =
                new CountingIntegerList(30);
        System.out.println(cil);
        System.out.println(cil.get(500));
    }
}
/* Output:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
500
*/
